Apple reveals how it's made the iPhone 16 series (much) easier to repair
プロジェクトのキックオフ企画は、インスタグラム 新潟県が、「新潟※(コメジルシ)プロジェクト」をスタートさせた。 プロジェクトは、SNS等を利用して、新潟県の魅力を自信を持って発信・表現する意識や機運を育てていくこが目的。またそれが実現した結果として、県内の交流人口拡大も見据える。キックオフ企画として県は、「#新潟のコメジルシ」フォトコンテストを13日からスタートさせ、16日の花角知事の定例記者会見で公式にアナウンスされた。 フォトコンテストでは2月29日までの間、インスタグラムを通じて「冬から春にかけての新潟の魅力」をテーマとする写真を募る。エントリーするためには、まずインスタグラムのプロジェクト公式アカウント「@niigata_komepro」をフォロー。その上でハッシュタグ「#新潟のコメジルシ」を付けて写真を投稿する。 エントリー作品の中から、事務局が公式アカウント内で再投稿(リポス
レバノンに逃亡した日産自動車前会長、カルロス・ゴーン被告(65)の弁護人、弘中惇一郎弁護士に対し「故意か重過失により出国させた」として東京弁護士会に懲戒請求が出されていたことが16日、関係者への取材で分かった。 関係者によると、懲戒請求書では弘中氏について「保釈中のゴーン被告を故意か重過失により出国させてしまったことは、保釈条件違反であり、その管理監督義務を懈怠(けたい)する行為」と指摘。保釈は弘中氏らが逃亡させないことなどを条件に裁判所が許可したものであるとし、「結果的に逃亡を許してしまい、国民の司法に対する信用失墜および刑事司法の根幹を揺るがしかねない事態を招いたことは重大な非行に該当する」としている。 逃亡発覚後の弘中氏の対応について「話すことはないという態度も無責任極まりなく当事者意識の欠如と言える」と非難。弘中氏らが逃亡に関与した疑いもあるとして同弁護士会に調査を求めた。弘中氏は
ネット広告業界に大きな衝撃が広がった。 グーグルは1月14日、世界シェア約6割を占める同社のウェブブラウザ「Chrome(クローム)」で、「クッキー」と呼ばれるユーザーのネット閲覧履歴のデータが第三者のネット広告企業などに提供される仕組みを停止すると発表した。2022年までに段階的に実施する方針だ。 クッキーを制限する動きはアップルが先んじていた。アップルのブラウザー「Safari(サファリ)」では2017年以降、段階的に制限の度合いを拡大。現在は実質的に、広告用にクッキーが使えない。 端末メーカーとしてユーザーのプライバシー保護の姿勢を強調していたアップルに、グーグルが追随した格好だ。「アップル対グーグルという、ネット上のエコシステムの争いが激しくなっている」(広告や検索のコンサルティングを手がけるプリンシプルの中村研太常務)。 クッキーは何に使われているのか クッキーは1994年に考案
Javaのビルドとは コンピュータソフトウェアの世界で、一般的にビルドとはソースコードをスタンドアロン状態でコンピュータ上で実行できる状態にすることを指します。 スタンドアロン状態とは、そのソフトウェアが他のリソースに依存することなく単独状態で実行できる状態のことです。 そのためビルドとは必要な資源を全てひとまとめにすることも含まれます。 Javaのビルドでは下記のようなプロセスが含まれます。 ソースコードの生成 ソースコードのコンパイル テストコードのコンパイル テストの実行(Unit tests等) jar、war、ear等へのパッケージング Checkstyle、Findbugs、PMD、test coverage等のヘルスチェックツールの実行 1のソースコードの生成は、何らかのツールを用いてJavaソースを生成を行う場合、ビルドプロセスの中に組み込むことができます。 2のソースコー
井崎英典 いざき・ひでのり [第15代ワールド・バリスタ・チャンピオン、株式会社QAHWA代表取締役社長] 第15代ワールド・バリスタ・チャンピオン 株式会社QAHWA代表取締役社長 1990年生まれ。高校中退後、父が経営するコーヒー屋「ハニー珈琲」を手伝いながらバリスタに。法政大学国際文化学部への入学を機に、(株)丸山珈琲に入社。2012年に史上最年少でジャパン・バリスタ・チャンピオンシップにて優勝し、2連覇を成し遂げた後、2014年のワールド・バリスタ・チャンピオンシップにてアジア人初の世界チャンピオンとなり、以後独立。現在は年間200日以上を海外で過ごしつつ、コーヒーエヴァンジェリストとしてBrew Peaceのマニフェストを掲げてグローバルに活動。ヨーロッパやアジアを中心に、コーヒー関連機器の研究開発、小規模店から大手チェーンまで幅広く商品開発や人材育成を行っている。 日本マクドナ
はじめに 新規追加する関数名に悩むとき、通常の翻訳サイトだと物足りないこともありますよね。 で、「確かQiitaで命名に関するチートシート記事があったよな~」という記憶だけが残っており、その時に見つけ出せなかったので半分自分用にサイトをまとめておこうと思います。 何かいいものがあったら随時更新していきます。 命名するその前に:既存プロジェクト開発ならプロジェクトの規則・文化も考慮する もし既存プロジェクトに参入し、そこで新規関数や変数を作ろうとしている場合には、以下のような点があるかも意識した方がいいと思います。 そのプロジェクトでの命名規則 「こういう機能ではこの単語を使うべし!」みたいな暗黙の文化 既存プロジェクト内のソースコードと全然違う命名をしてしまうと、同一機能のgrepに引っかからなくなる等デメリットもあるので。 特に歴史の長いプロジェクトに新規参入した場合等は、正当な理由での
Mac OS Xのタイムマシン(Time Machine)は1時間毎に勝手に動いてくれますので,ほとんどの場合はそれで十分だと思います.しかし,ファイルをまとめて追加したりして,明示的にバックアップをとりたい時があります.かつ,これをコマンドライン(ターミナル)から実行できないものかなと思って探したら, tmutil で出来る事が分かりましたので紹介. メニューの「今すぐバックアップを作成」に相当するのは startbackup のようです. % tmutil startbackup バックアップのリストを見る % tmutil listbackups 自動バックアップを停止,開始 % tmutil disable | enable (環境設定における, Time Machine のOn/Off 切/入 です) ちなみに,/Applications フォルダにある Time Machine
macOS 10.13 High Sierra以降でTimeMachineを利用すると、自動的に起動ディスクのスナップショットを約1時間おきに1つ保存するような仕様になっています。 便利っちゃ便利なんですけど、ストレージを消費したり、ディスクのメンテナンスなどで思わぬ時間をとるようになってしまいます。 普段は気にする必要はないですけど、何かの時にローカルスナップショットの確認や削除する方法などをまとめてみます。 ローカルスナップショット一覧の表示方法ターミナルを起動し、以下のコマンドを入力します。 tmutil listlocalsnapshots /すると以下のようにずらずらっとローカルスナップショットの一覧が表示されます。 com.apple.TimeMachine.2018-12-19-205036 com.apple.TimeMachine.2018-12-19-215315ローカ
Time Machine has a nifty way of continuing to keep copies of versions of files as you change them even when it can’t connect to a Time Machine backup volume. It creates local snapshots on your startup volume and other connected HFS+ volumes, and then later transfers these to a Time Machine destination when you reconnect on a network. A Macworld reader has questions about managing these snapshots.
2014年01月02日08:51 カテゴリプログラム OSXのQuickLookを自作したい人のためのメモ 今日もコード書いてる?? OSXのQuickLook。FinderでSpaceキーを押すだけでざっくりファイルの詳細がわかるQuickLookが便利過ぎ。テキストでも画像でも音声でもモデルデータでも対応してればなんでも見られる。 んで、そのQuickLookって自作できるんだね!!自分で作れる事を知ってプチブームです。でした。 GitHubで公開中⇒tek-nishi/QLOgg という訳で、以下QuickLookプラグインを自作する為のメモ書き。 実はQuickLookプラグインの雛形はXcodeに入っています。 File→New→Projectと操作して表示される雛形から選ぶだけでよい。 GeneratePreviewForURL.c QuickLook時に独自のプレビューを生成
mermaidは、Web上で簡単にフローチャートやシーケンス図などのUMLが描けるライブラリです。 d3.jsの機能特化型というかんじで、d3ほど様々なことはできませんが、そのかわりに対応してる図形なら非常に簡単に描くことが可能です。 なお、ヘルプはGitGraphやクラス図が載ってないなど未完成で、いまいち頼れません。 ごたくはいい、実物を見せろ こんなかんじ →支払い忘れてサーバが死んだので代替(誰かが書いたやつに勝手にリンク) できること 以下の図が描ける。 ・フローチャート ・シーケンス図 ・ガントチャート ・クラス図 ・gitグラフ 最後だけ異質だ。 インストール CDNを使えばいいだけだが、自分のところに置きたい場合はyarnで引っ張ってこれる。 <!DOCTYPE html> <html lang="ja"> <head> <link rel="stylesheet" hre
概要 テキスト形式でUMLの図を表現できるPlantUMLをIntelliJ IDEA上で書くための設定メモです。 インストール プラグイン IntelliJ IDEAでSettings -> Pluginsを表示します。 Browse Repositories... ダイアログでキーワード「plantuml」を入力し、「PlantUML integration」を選択・インストールします。再起動するとプラグインが有効になります。 Graphviz シーケンス図以外を書く場合はGraphvizというソフトウェアが必要です。サイトからダウンロード・インストールします。 使い方 新規ファイル作成 コンテキストメニューに各種UML図を作成するメニューが追加されていますので、最初はこれらを選択するとよいでしょう。 編集 エディタとプレビューが同時に表示されます。 シンタックスハイライトも効いていま
Markdownの編集環境は悩ましい問題です。このエントリでは現時点で私がたどり着いたMarkdown編集環境(IntelliJ IDEA、VSCode、Vimなど)を、その前提、要求事項とその対応状況ともに紹介します。 みなさん、Markdown書いてますか? 私が所属する事業開発部では、prismatixというサービスの開発をしています。そして、その仕様書などのドキュメントの多くがMarkdown形式で書かれています。そのため、私も日々Markdownを書いているのですが、その編集環境をできれば快適なものにしたいと思って試行錯誤しています。 本エントリでは、私が求める理想的なMarkdown編集環境に対し、現在どのような手段で実現しているか紹介します。 TL;DR; 現時点ではIntelliJ IDEAとそのプラグインが良い VSCodeとその拡張も捨てがたい Vimでもそれなりに行け
pandas.DataFrameの行名(index, インデックス)・列名(columns)を変更するには、rename()メソッドやset_axis()メソッドなどを使う。 既存の列をインデックスに設定するset_index()というメソッドもある。 関連記事: pandas.DataFrameの列をインデックス(行名)に割り当てるset_index 本記事のサンプルコードのpandasのバージョンは以下の通り。バージョンによって仕様が異なる可能性があるので注意。以下のpandas.DataFrameを例として使う。 import pandas as pd print(pd.__version__) # 2.0.3 df = pd.DataFrame({'A': [11, 21, 31], 'B': [12, 22, 32], 'C': [13, 23, 33]}, index=['ON
スクレイピングなどで、最終的に文字列を取得したい場合は、soupオブジェクトに対して”.string”や”.text” で文字列を抽出することが出来ますが、両者の明確な挙動の違いを例を挙げて紹介します。 <div> <h2>文字列取得テスト</h2> <p>BeautifulSoupはスクレイピングに欠かせないPythonのライブラリです。<br/>複雑なHTMLソースも、手軽にパースできる事が<b>最大の魅力</b>です。</p> </div> 例えば上記のようなHTMLソースがあった場合を例に見ていきます。 from bs4 import BeautifulSoup as bs4 soup = bs4(html, 'lxml') ここまでが前提のソース。 soup.p.text の場合 “.text” の方は非常に単純で、そのタグ内に含まれるすべての文字列をつなぎ合わせて返却します。
改行コードCRLF と LF WEBプログラミングをしていると、開発環境でWindowsとMacなどが混在し、改行コードがめちゃくちゃになる場合があります。 テキストファイルの改行コード テキストファイルについては、一つ一つファイルをvim で開いて、:set ff=unix としてあげることで改行コードがLFになります。 フォントファイルの改行コード(?) 今回、なぜかフォントファイル.otfや.eofに対しても warning: CRLF will be replaced by LF in 'フォントファイルのパス' というエラーがでて、git add .をするとfatal: CRLF would be replaced by LF inとエラーがでるため、addができませんでした。 git addに-fをつけて指定しても、--allしてもエラーで追加できません。 対処したよ! git
はじめに# デザインパターンにでてくる Factory Method と Abstract Factory. なんだか, いつになっても違いが分からない… というわけで一旦整理してみることにした. 能書き# まずは, 一般的な説明をネットからひろう. Factory の原則# 生成と実装を分離することで, プログラムはシンプルになる. 生成パラメータの指定方法をシンプルに 生成後の管理をシンプルに 生成するオブジェクトの指定方法をシンプルに 特定のケースで特定のオブジェクトを生成するのは手続き思考的. 2 つをわけて考えることで設計に集中. 動作方法 生成,管理方法 Factory Method# オブジェクトの生成を行う時のインタフェースを規定して, インスタンス化するクラスを決定するのはサブクラスに任せる. factoryMethod の中でオブジェクトの生成をすることで, 生成を生成
モチベーション プルリクもらったときに,ざっと構造を理解しつつ,循環参照していないかをチェックするため,クラス図を自動作成したい。 方法 Pyreverseを使うと以下のような図が出力できる(上クラス図,下パッケージ図)。 本記事の検証環境 Windows10 python3.7.3 git-bash 環境構築手順 pythonとpipが使えることは前提とする。 Pylintをインストールする。Pyreverseが一緒にインストールされる。 出力形式(dot, svg, png等)にかかわらず,Graphvizが必要なので,ここからインストーラを落としてインストールする。 Graphvizのbinフォルダ(筆者環境だと「C:\Program Files (x86)\Graphviz2.38\bin」)のPATHを通す。 出力可能な形式をdot -Txxxで確認する。ここでエラーが起きると,
初心者向けにPythonでクラス図を作成する方法について解説しています。クラス図とは、Pythonで使われているクラスにどのようなプロパティやメソッドがあるのか、また他のクラスとの関係を表した物です。Pyreverseを使うと自動でクラス図を生成することが出来ます。 テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査 Pythonでクラス図を作成する方法について解説します。 そもそもPythonについてよく分からないという方は、Pythonとは
デザインパターンをPlantUMLで確認します。ここでは、作成パターンとして利用頻度の高いパターンについて取り上げます。( Factory Method Abstract Factory Singleton ) 作成コードがばらばらに書かれていると、品質にばらつきが生まれ、保守や機能拡張のコストが高まります。作成コードは1箇所に集約することが望ましく、作成パターンでは、その集約方法のアイデアを与えてくれます。 デザインパターンをPlantUMLで確認(作成パターン編) ← 今回 デザインパターンをPlantUMLで確認(構造パターン編) デザインパターンをPlantUMLで確認(振舞いパターン編) Factory Method ( 1つのオブジェクトを生成するための抽象インタフェースを提供 ) @startuml title Factory interface Product { -- +
Runnerの設定がデフォルトのままだと、ジョブが失敗してしまいました。 Runnerを新しく作るたびにこの設定を忘れていてハマるのでメモを残しておきます。 RunnerにDockerを使わせる ローカル環境にこんなDockerイメージがあるとして、 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE android sdk28 ************ 2 weeks ago 4.7GB $ gitlab-runner register WARNING: Running in user-mode. WARNING: Use sudo for system-mode: WARNING: $ sudo gitlab-runner... Please enter the gitlab-ci coordinator URL (e.g. htt
pycharmを使って環境構築 mac OS Mojave(10.14.5) pyenv 1.2.12 python 3.6.0 Pycharm 2019.1.3 (Community Edition) Pycharmのinstall 公式サイトからインストール Community版を使わせてもらいます。 pyenvを使ってプロジェクトのpython versionを合わせる pyenvをhome brewでinstall brew install pyenv pathを通すために以下の3つのコマンドを実行 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(pyenv in
matsuiによるページを参照 Dokuwiki.fl8.jp » bash » 03 特殊な変数展開 ${parameter:-word} デフォルトの値を使います。 parameter が設定されていないか空文字列であれば、 word を展開したものに置換されます。そうでなければ、 parameter の値に置換されます。 ${parameter:=word} デフォルトの値を代入します。 parameter が設定されていないか空文字列であれば、 word を展開したものが parameter に代入されます。それから parameter の値への置換が行われます。 位置パラメータや特殊パラメータへの代入をこのように行うことはできません。 ${parameter:?word} 空文字列または設定されていない場合にエラーを表示します。 parameter が空文字列または設定されていな
毎度毎度のSolrネタ。 「Solrでは後方一致のワイルドカード検索(例えば「*test」みたいなやつ)はできない」っていうのがこれまでの常識で、実際昔のバージョンではそーゆー検索するとエラーになるし、そのためにSolrにはわざわざ擬似的に後方一致検索をするためのReverseWildcardFilterってFilterもあるくらいだったのに、今手元のSolr 4.2.1(QueryParserはdefaultのまま)で何の気なしに後方一致のクエリ投げてみたらあっさり通ってしまった。 SolrのWikiからリンク貼られてるQueryParser.classic見ても「Note: You cannot use a * or ? symbol as the first character of a search.」って書かれてるのに…と思って調べてみたら、現行のLuceneのWildcardQ
今までずっとSolr(というかLucene)で、ワイルドカードによる後方一致はできないものだと思っていたのですが、どうやらそうではないようです。 最近、Solrで後方一致のクエリを投げている人が近くにいて、「使えるの?」と聞いてみたら「動いてますよー」とあっけらかんと返ってきたことで知りました…。 で、なんで後方一致ができないと思っていたかというのは、LuceneのQueryParserが元です。 Wildcard Searches Note: You cannot use a * or ? symbol as the first character of a search. http://lucene.apache.org/core/5_4_0/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#W
ある案件の機能開発、保守をしていましたが、 サービス終了という事で小ネタのような知見を共有しようと思います。 知見というかただの小ネタだった事に気付いた。 パフォーマンスチューニングだったり外部システム連携だったり色々やりました。 しょうもない話 2017年3月くらいからこの案件に関わり始めて、9ヵ月も経ちました。 案件の終わりがサービス終了だととても微妙な気分です。 関わり始めた頃はGo難しすぎる、コンパイル一生通らないとか思っていましたが、 今は学習コスト低いしそれなりに速度も出るし書きやすいと思ってたり考えがわりと変わりました。 gitlabとかbacklog見直しながら書いてますが、思ったのは成長出来る案件ではあったけどやっぱり保守だと技術的な中身が薄いなあと思いました。 今の環境だと周りもあまり技術に興味ある人が多いわけではないし、案件的にも成長が厳しいと感じているので転職がした
Javascriptはあまり詳しくないAndroidエンジニアが、Nuxt.jsとVuetifyでWebページを作成している。 やりたいこと HTMLで表示した内容をクリップボードにコピーしたい (dataやpropsで渡した値ではない) できたコード これでいけた div内の全pタグのテキストがクリップボードにコピーできた。 <template> <v-layout> <v-btn icon fab color="orange" @click="witeToClipboard()" > <v-icon>file_copy</v-icon> </v-btn> <div id="target"> <p>コピーしたい文章1</p> <p>コピーしたい文章2</p> <p>コピーしたい文章3</p> </div> </v-layout> </template> <script> export d
axiosを使ってfile属性をPUTで投稿 [注意] ・FormData()を利用してfile属性を取得する ・POSTで送って、PUTで上書きする // 呼び出すAPIのURL let api_url = 'http://127.0.0.1:8080/'; // file属性にidをつけ、そのidを取得する let element = document.getElementById("image_file_path_update_id"); // fileをputもしくはpostしたい場合はFormDataを使用する // FormDataをせずに送った場合、valueにファイルのパスを指定して送っているので注意する let data = new FormData(); // FormDataにimage_file_pathをキーとして、ファイルを追加する data.append('i
MySQL でテーブル内の同値の数をカウントするための group by 関数の使い方についてのメモです。
Linux女子部 systemd徹底入門が詳しい。 systemdに移行していくディストリビューション Debianの次のリリースJesseでsystemdに移行。 【LinuxTutorial】Debian が systemd を採用、Ubuntu 12.04.4 LTS リリース、Linux カーネル 3.13.2 および 3.14 rc2 のリリース - インターネットコム Ubuntu16.04あたりでsystemdに移行かな upstart - systemd in ubuntu 14.04 - Ask Ubuntu RHEL 7 に採用される systemctl コマンド - /dev/null blogより postfixなどの個別サービス設定は以下のファイルに書いてある。
ファイルを圧縮するといえば最初に思い浮かぶのはZIPですよね。 ZIPは昔からある規格なので誰でも知ってますし、WindowsPCなら解凍ソフトなしで解凍できますからね。 ですが、古い規格であるがゆえにデメリットが結構あるんです。 ZIPの欠点とおすすめの圧縮形式をまとめました。 ZIPの特徴ZIPのメリットwindowsなら簡単に解凍できるZIP形式のファイルは右クリックから簡単に解凍できる。 拡張子って何?って人にRARのファイルを送ったりすると説明に手間がかかるのでこの形式がいいかもしれない。 ZIPのデメリット圧縮率が低い圧縮率が低く、元のファイルとあまり変わらないことも多い。 4GBを超えるファイルは圧縮できない圧縮前のファイル容量の合計が4GBを超える場合は圧縮できない。 圧縮後に2GBを超えるファイルは圧縮できない圧縮してできたファイルが2GB以内にならなければ破損する。 ダ
使い方は簡単で圧縮ファイルを開く際に「The Unarchiver」を指定するだけです。基本的にデフォルトのまま使って問題ありませんが、必要に応じてメニューバーの「The Unarchiver」>「環境設定」で変更しましょう。 以下、おすすめの設定です。 解凍後に元のファイルをゴミ箱へ移動する 「展開」タブで「展開先」の設定や解凍後の圧縮ファイルを「ゴミ箱に入れる」などの設定ができます。 エンコーディングを設定する Windowsユーザーが作った圧縮ファイルを解凍するときにファイル名が文字化けすることがありますが、「The Unarchiver」はファイル名のエンコーディングを変更することができます。デフォルトでは「自動判別」にいますが、文字化けするような場合は設定を変更しましょう。 デフォルトのアプリケーションに設定する 圧縮ファイル上でコンテキストメニューを開き「情報を見る」を選択する
lsコマンドのソートオプションまとめ 2012-02-25 lsコマンドにはソートオプションがいくつかあるけど、いつもどれがどれだか分からなくなるのでメモ。 時刻でソートするもの -c -ltと一緒に指定すると、ctime(最終ステータス変更時刻)を表示してそれでソート -lと一緒に指定すると、ctimeを表示するがファイル名でソート -u -ltと一緒に指定すると、atime(最終アクセス時刻)を表示してそれでソート -lと一緒に指定すると、atimeを表示するがファイル名でソート -t タイムスタンプでソート 名前でソートするもの -X 拡張子のアルファベット順にソート -v バージョン順にソート サイズでソートするもの -S ファイルサイズでソート(大きいものが上) その他 -U ソートせずにディレクトリに置かれている順に表示 -f ソートしない -r 指定されたオプションの逆順でソ
このドキュメントでは、はてなの OAuth 対応 API を使ったアプリケーションを開発するための準備の手順を説明します。本ドキュメントでは Web サーバーで動作する Web アプリケーションを例に説明しますが、ユーザーの元に配布して実行されるアプリケーションでも同様の方法で対応できます。 1. アプリケーションを登録して consumer key を取得する まずは開発するアプリケーションをはてなに登録し、 OAuth アクセスに利用する consumer key、 consumer secret を取得しましょう。はてなは consumer key と consumer secret によってアクセス元のアプリケーションを区別し、ユーザーごとのアクセス許可の有無を管理しています。アプリケーションは何個でも無料で登録できます。 1.1. はてなIDを取得する アプリケーションを登録
6月末にTwitter APIのBASIC認証が終了してしまうので、OAuth対応のTwitterクライアントを作ってみることにした。とりあえず最もシンプルだと思われるコマンドラインで動作するクライアントをPythonで作成してみた。 まず、Twitterクライアントを作成する前に、TwitterのサイトでOAuthクライアントの登録を行わなくてはならない。ここで、「アプリケーーション名」、「アプリケーションの説明」、「アプリケーションのウェブサイトURL」を記入する必要がある。また、今回はPC上で実行するクライアントで読み書きを行いたかったので、「あなたの招待状」には「送信」、"Default Accdess type"には"Read & Write"を選択した。 登録を済ますと、"Application Details"のページで"Consumer key"と"Consumer sec
1. MPS 第23回ミーティング (2015/3/14) 資料 Python で OAuth を使ってみよう! Morning Project Samurai 代表 金子純也 第23回 MPS ミーティング資料 (2015/03/14) (c) Junya Kaneko 2. 目次 • MPS とは • 今回作成するアプリ • セキュリティの基礎知識 (認証と承認) • OAuth とは • 認証コード認可 (Authorization Code Grant) • アプリ作成の下準備 (Virtualenv, Django, Heroku, Google) • アプリ作成 第23回 MPS ミーティング資料 (2015/03/14) (c) Junya Kaneko 3. Morning Project Samurai (MPS) • Morning - 土曜の朝を有意義に • Proj
僕のマシン macbook pro 13inch タッチバーなしモデル メモリ 16GB 容量 256GB SSDの容量をカスタムで増やし256GBにしたのに、システムで180GBをしめているってどうゆうことや!と思ってセカセカ重めのファイルを消していたんですが空き容量が20GBにまでおいつめられ対処する必要がでてきました。 そもそもこんなにmac本体にデータ入れてないよー、誤表示だよーと思っていたので、 このサイト の手順どおり、 セーフモードやらNVRAMモードを試しましたが、うんともすんとも言いませんでした。 OSの再インストールはさすがに面倒なのでApple store コールセンターに電話をしたら無事解決。 僕の場合動画編集時に発生するadobeアプリのキャッシュが原因でした。しかもそのキャッシュは特別な手順でないと確認できないとのことでした。 キャッシュを除去するだけで、解決し
本日の担当は岩石です。立春が過ぎましたが、まだまだ寒い日が続きます。 昔は寒さに負けず、梅の花など撮りに出かけていましたが、ここ数年カメラを持ち出すことが少なくなりました。 最近撮影した写真を振り返ると...会社関係の写真ばかり撮ってますね(笑)。 今回のブログは、昨年最後に私が担当したブログで予告した通り、今回はRedmineのREST APIの話を書きます。 Web APIやRESTにお詳しい方なら、今回のブログの話はすでにご存知だと思いますので、ご存じない方へ入門編として書こうと思います。 なお先週末より、とあるCMSのREST APIの話題が広まっていますが、その話題には触れません。 REST API REST APIとはWeb APIのうちRESTに従った設計で作られたAPIのことを言います。 Web APIとは、簡単に説明するとhttpやhttpsのプロトコルでアクセスするWe
Issue Relations¶ Table of contentsIssue Relations/issues/:issue_id/relations.:formatGETPOST /relations/:id.:formatGETDELETE /issues/:issue_id/relations.:format¶ GET¶ Returns the relations for the issue of given id (:issue_id). XML example: GET /issues/8470/relations.xml Response: <?xml version="1.0" encoding="UTF-8"?> <relations type="array"> <relation> <id>1819</id> <issue_id>8470</issue_id> <iss
RedmineにREST APIがあることを知りました。 http://www.redmine.org/projects/redmine/wiki/Rest_api Pythonから使ってみます。 APIキーの準備 サンプルとして、チケットの登録をやってみたいと思います。 データの参照には不要っぽいのですが、登録にはAPIキーが必要なので、 先に作っておきます。 [管理] - [設定]から、[認証]タブを選択します。 「RESTによるWebサービスを有効にする」という項目があるのでチェック。 保存を実行します。 右上の[個人設定]を選択。 「APIアクセスキー」という項目が表示されるので、「表示」をクリックします。 そうすると、そのユーザーのAPIアクセスキーが表示されます。 APIアクセスキーはユーザーごとに発行されるようです。 使用するアクセスキーに該当するユーザー名でチケットの登録が
この記事では、PhpStorm からMySQLに接続する方法を紹介します。 PhpStormはデータベースクライアントとしての機能も備えており、各種データベースに接続することができます。GUIでテーブル定義を変更したり、エクセルを編集するようにデータを操作したりといろんな機能があります。その中でも特におすすめなのが、コンソールモードでのSQL入力です。テーブル名やカラム名の入力補完がバシバシ効いて、SQLがとても書きやすいです。 IdeaVIMプラグインと併用すればVimキーマップでSQLが書けます。私は普段ターミナルでSQLを書くことが多いですが、便利すぎてターミナルに戻れなくなりそうです。データベースを操作する方法の一つとして、知っておいて損はないと思います。 こちらの記事で紹介している「SQL Dialects」の設定も併せて行うと効果的です。 目次 Data Source Prop
SELECT DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 1 MONTH), '%Y-%m-01'); -- 前月の月初 SELECT LAST_DAY(DATE_SUB(CURRENT_DATE, INTERVAL 1 MONTH)); -- 前月の月末 SELECT DATE_FORMAT(CURRENT_DATE, '%Y-%m-01'); -- 当月の月初 SELECT DATE_SUB(CURRENT_DATE, INTERVAL 2 DAY); -- おととい SELECT DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY); -- 昨日 SELECT CURRENT_DATE; -- 現在 SELECT DATE_ADD(CURRENT_DATE, INTERVAL 1 DAY); -- 明日 SELECT
def fetchmany(cursor, size=1000): """ 1000件づつ fetch する """ while True: rows = cursor.fetchmany(size) if not rows: break for row in rows: yield row # cursor を取得 import MySQLdb conn = MySQLdb.connect() conn.cursorclass = MySQLdb.cursors.DictCursor # select した結果を dict で取りたい時等 cursor = conn.cursor() # 検索 cursor.execute('SELECT foo FROM bar WHERE baz = %s', ('piyo', )) for row in fetchmany(cursor): pri
ジェネレータ使うとメモリ食わないし処理が早いと思っているんですが、データベースのデータもジェネレーターで取得すると早いのかな。 以下のようにデータベースのデータを取得するジェネレーター関数を作ってみました。
最近クローラーを作成する機会が多く、その時にXPathが改めて便利だと思ったので XPathについてまとめてみました! XPathを学ぶ方の役に立てれば幸いです。 初級編 XPathとは XPathはXML文章中の要素、属性値などを指定するための言語です。 XPathではXML文章をツリーとして捉えることで、要素や属性の位置を指定することができます。 HTMLもXMLの一種とみなすことができるため、XPathを使ってHTML文章中の要素を指定することができます。 例えば、 <html> ... <body> <h1>ワンピース</h1> <div class="item"> <span class="brand">iQON</span> <span class="regular_price">1,200円</span> <span class="sale_price">1,000円</sp
Pythonでの画像処理については以下の記事も参照。 関連記事: Pythonで画像処理: Pillow, NumPy, OpenCVの違いと使い分け 画像サイズを変更(リサイズ)する方法や、画像サイズ(大きさ)ではなくファイルのサイズ(容量)を取得する方法については以下の記事を参照。 関連記事: Python, Pillowで画像を一括リサイズ(拡大・縮小) 関連記事: Pythonでファイル、ディレクトリ(フォルダ)のサイズを取得 OpenCV: ndarray.shapeで画像サイズ(幅、高さ)を取得 OpenCVで画像ファイルを読み込むと、NumPy配列ndarrayとして扱われる。ndarrayの形状を示す属性shapeから画像のサイズ(幅、高さ)を取得できる。 関連記事: NumPy配列ndarrayの次元数、形状、サイズ(全要素数)を取得 OpenCVに限らず、Pillowで
画像サイズを変えるのも簡単です。 resize cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) → dst¶ さっそく試してみましょ 単純な処理ですね。 画像を読み込む 高さと幅を取得し、さらにそれぞれを半分ににしたサイズを作成する cv2,resizeに入力画像とサイズを設定する(サンプルでは半分にしてある) またはサイズには、入力の高さと幅に対する倍率を設定する(もうひとつのサンプルは高さと幅を2倍にしてある) 結果 サンプルを載せてもあまり視覚的に意味が無いので。。。。。今回は結果サンプル無しです。すみません。 画像の縮小では、方式に気をつける 画像を縮小する場合には、その縮小方法に気をつける必要があります。 100x100の画像を50x50に縮小する場合を考えましょう。 ある1行について、100画素で表示していた
概要 ちょっと探したら、そういうことの出来る、素敵なWebサービスもありそうではあるのですが。 開発者じゃない人に「今月の開発内容」のようなものを共有したい。 開発メンバーごとに、どのくらい作業をしているかの目安を出したい。 毎月、開発した内容を振り返るのに使える資料を簡単に作りたい。 ということで。 何となくGitのコミットログをCSV出力して、Google SpreadSheetとかExcelとかに貼り付けることを考えました。 やり方 コンソールでGitレポジトリのディレクトリを開き git --no-pager log --since=2017-03-01 --until=2017-03-31 \ --pretty=format:"\"%ad\",\"%h\",\"%an\",\"%s\"" \ --date=short --no-merges --all --date-order
morimorihogeです。RubyKaigi2018は相変わらず濃い内容でしたね。 さて、MSがGitHubを買収というニュースが発表されました。これにより様々な事情によってGitHubから別のGitリポジトリサービスに移行を検討している方もいると思います(2018/06/05追記: Microsoftから公式発表がありました: Microsoft to acquire GitHub for $7.5 billion)。 移行候補の中でもGitLabはかなり長い間OSS版GitHubクローンという立ち位置で続いているプロジェクトで、OSSであることから自社サーバーでホスティングできることもあり、有力候補の一つなのではないかと思います。 ※GitLab公式トップページが「Migrate from GitHub to GitLab」になってるあたり「やるな」と思いますw 弊社では受託開発と
条件 PyCharm PlantUMLとは? オープンソースのUMLダイアグラム作成用のテキストベースの言語です。 (出典:ウィキペディア) プログラムを記述する感覚で様々なUML図を作成することが出来ます。 プラグインのインストール PyCharmメニューのファイル > 設定を選択します。 設定画面が開くので、左メニューで「プラグイン」を選択して画面下の方の「リポジトリーの参照…」ボタンを押します。 リポジトリーの参照画面が開くので、検索入力フィールドに「plant」を入力します。 「PlantUML Integration」が候補として挙がるので、緑色のインストールボタンを押します。 Third-party Plugins Privacy Noteダイアログが表示されます。 許諾ボタンを押します。 インストール完了後、リポジトリーの参照画面を閉じます。 設定画面に「PlantUML i
ちょっとした情報を取り出す時のクエリが30秒ほどかかったので、何とか改善できないものかと試行錯誤してみました。 2つのテーブルがあって、仮に ■顧客情報 t_client_info ( client_id, name, address) ■顧客履歴 t_client_history (id, client_id, visit_date) とでもしましょう。 visit_dateはdate型ではなくてint型でYYYYMMDDの形式とします。 あとは見たまんまなのでテーブルの説明は省略ます。 2010年の元旦から1年以内に来店した顧客の住所と最終来店日を取得するというクエリです。 1年のうちに1回しか来なかった人は省くことにします。 SELECT i.client_id, name, address, MAX(visit_date) as vdate FROM t_client_info A
Googleが提唱する「プログレッシブWebアプリ(PWA)」。そのコンセプトを理解し、実装に反映するには「アプリ感覚」の体験を実現することが必要です。ポイントを紹介します(PWAの入門記事も併せてどうぞ)。 グーグルのZach Cochが「Webとアプリの境界線はこれまでになくあいまいになっています」と述べたように、Webはかつてなく改良され、「高速なリッチアプリ感覚」の驚くべき体験を創出できるフェーズになりました。 しかし、Webには特有の課題があります。モバイルでWebサイトを見るとき、ブラウザーではなくネイティブアプリを利用してしまうように、モバイルでのWeb体験は完璧とは言えません。 よく直面する問題を挙げます。 低パフォーマンス:平均的なユーザーは、ロードに3秒以上かかるWebサイトからは離脱する。モバイルサイトの平均ロード時間は19秒程度と、大きなギャップがある レスポンシブ
WEBをPWA対応させるには、様々なアイコンが必要になります。 そして、以下のツール類を用いれば簡単に色んなファイルサイズの画像を生成してくれますが… Favicon Generator. For real.様々なファビコンを一括生成。favicon generatorApp Manifest Generator 今回は、逆の切り口でPWAに最小個数のアイコン画像のサイズについて考えました。 スプラッシュ画面(512×512) まず、android用でスプラッシュ画面を表示させたい場合は、512×512のpngアイコンが必要です。 Configured For A Custom Splash Screen | Tools for Web Developers | Google Developers インストールバナー・アプリアイコン(192×192) これもandroid用ですが、インスト
favicon.ico,apple-touch-iconなど様々なブラウザやデバイスに対応したファビコンをまとめて生成。 使い方はとってもシンプル。画像を1枚指定するだけ。面倒な設定不要。 favicon.ico、icon*.png、android-chrome*.png、apple-touch-icon*.png、site-tile*、manifest.jsonを一括生成します。 エラーログに余計な404 not foundを記録させない対策としても有効。PWAのアイコン作成にも。 <meta name="msapplication-square70x70logo" content="/site-tile-70x70.png"> <meta name="msapplication-square150x150logo" content="/site-tile-150x150.png"> <
あさしま・ふさこ/2000年入社。ダイヤモンド編集部ではマイノリティーの生え抜き。エレクトロニクス・自動車を中心に製造業の業界担当を制覇。労働問題の取材にも注力。15年より製造業担当の副編集長。現在、特集・ニュース統括も兼務。担当特集は「京都企業の血脈」「軍事ビジネス&自衛隊 10兆円争奪戦」「絶頂トヨタの死角」「脱炭素地獄」など。趣味は歌舞伎と酒。松本清張先生の短編が好き。 有料記事限定公開 ダイヤモンド・オンラインの有料会員限定記事を、特別に無料で公開します。 バックナンバー一覧 大企業病がまん延するパナソニック。ついに、津賀一宏社長は大胆な人事改革に着手し、組織に刺激を与えようとしている。ダイヤモンド編集部は、パナソニックの「管理職の賃金テーブル」が記された内部資料を入手。特集「パナソニック老衰危機」(全10回)の#05では、それを基に、硬直化する人事制度の問題を指摘する。(ダイヤモ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く